﻿/*
 * Created by SharpDevelop.
 * User: CeCi
 * Date: 02/04/2014
 * Time: 12:55 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Data;
using System.Collections.Generic;
using Gestión_UTN.bo;

namespace Gestión_UTN.blimpl
{
	/// <summary>
	/// Description of mailAlumnoblimpl.
	/// </summary>
	public class mailAlumnoblimpl:Gestión_UTN.bl.mailAlumnobl
	{
		private static Gestión_UTN.da.mailAlumnoda createMailAlum = Gestión_UTN.factories.dafactory.createMailAlum();
		
		public mailAlumnoblimpl()
		{
		}
		
		public bool SaveMailAlumno(int alu_dni, string correo)
		{
			bool ingresado = false;
			
			try 
			{
				ingresado = (0 != alu_dni && !correo.Equals(""))
					? createMailAlum.SaveMailAlumno(alu_dni,correo) 
					: false;
			}
			catch (Exception) 
			{
				ingresado = false;
			}
			
			return ingresado;
		}
		
		public bool DeleteMailAlumno(int alu_dni, string correo)
		{
			bool eliminado = false;
			
			try 
			{
				eliminado = (0 != alu_dni && !correo.Equals(""))
					? createMailAlum.DeleteMailAlumno(alu_dni,correo)
					: false;
			} 
			catch (Exception) 
			{
				eliminado = false;
			}
			
			return eliminado;
		}
		
		public bool ModifyMailAlumno(int alu_dni_anterior, string correo_anterior, int alu_dni, string correo)
		{
			bool modificado = false;
			
			try 
			{
				modificado = (0 != alu_dni_anterior && !correo_anterior.Equals("") && 0 != alu_dni && !correo.Equals(""))
					? createMailAlum.ModifyMailAlumno(alu_dni_anterior, correo_anterior, alu_dni, correo)
					:false;
			}
			catch (Exception)
			{
				modificado = false;
			}
			
			return modificado;
		}
		
		public System.Data.DataTable FindAllMailAlumnos()
		{
			DataTable tablaMailAlum = null;
			
			try 
			{
				tablaMailAlum = createMailAlum.FindAllMailAlumnos();
			} 
			catch (Exception)
			{
				tablaMailAlum = null;
			}
			
			return tablaMailAlum;
		}
		
		public Gestión_UTN.bo.MailAlumnobo FindMailsByDni(int alu_dni)
		{
			MailAlumnobo mails = null;
			
			try 
			{
				List<Gestión_UTN.Entities.MailAlumno> ma = (0 != alu_dni) 
					? createMailAlum.FindMailsByDni(alu_dni) : null;
				
				if (null != ma)
				{
					List<String> correos = new List<string>();
					
					foreach (var mail in ma) 
					{
						correos.Add(mail.Correo);
					}
					
					mails = new MailAlumnobo(alu_dni,correos);
				}
			} 
			catch (Exception)
			{
				mails = null;
			}
			
			return mails;
		}
	}
}
